package com.itkjb.leisurely.resource.sys.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.itkjb.leisurely.core.base.BaseModelWithOperationFields;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 用户更新记录
 * </p>
 *
 * @author itkjb.com
 * @since 2020-07-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_user_upt_log")
@ApiModel(value="SysUserUptLogModel-模型", description="用户更新记录")
public class SysUserUptLogModel extends BaseModelWithOperationFields  {

    private static final long serialVersionUID=1L;

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private String id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    @TableField("`user_id`")
    private String userId;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    @TableField("`username`")
    private String username;

    /**
     * 操作类型 1:修改信息，2: 修改状态
     */
    @ApiModelProperty(value = "操作类型 1:修改信息，2: 修改状态")
    @TableField("`opt_type`")
    private Integer optType;

    /**
     * 操作信息
     */
    @ApiModelProperty(value = "操作信息")
    @TableField("`opt_msg`")
    private String optMsg;

    /**
     * 修改前状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
     */
    @ApiModelProperty(value = "修改前状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结")
    @TableField("`bef_status`")
    private Integer befStatus;

    /**
     * 修改后状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
     */
    @ApiModelProperty(value = "修改后状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结")
    @TableField("`aft_status`")
    private Integer aftStatus;

    /**
     * 乐观锁版本号
     */
    @ApiModelProperty(value = "乐观锁版本号")
    @Version
    @NotNull(message = "缺少版本号参数")
    @TableField("`lock_version`")
    private Long lockVersion;


}
